Timm Bäder [Wed, 24 Apr 2019 16:30:46 +0000 (18:30 +0200)]
Add error func to node deserialization
Benjamin Otte [Sat, 27 Apr 2019 05:20:20 +0000 (07:20 +0200)]
testsuite: Black out parts of reftest
Timm Bäder [Wed, 24 Apr 2019 11:50:04 +0000 (13:50 +0200)]
testsuite: Remove old cairo/vulkan tests
They are still in the old binary format and haven't worked for a while.
Timm Bäder [Wed, 24 Apr 2019 11:47:30 +0000 (13:47 +0200)]
rendernode: Remove old GVariant (de)serialization code
We're doing the CSS thing now.
Timm Bäder [Wed, 24 Apr 2019 11:25:32 +0000 (13:25 +0200)]
testsuite: Add another gl renderer test
Benjamin Otte [Sat, 27 Apr 2019 04:42:28 +0000 (06:42 +0200)]
testsuite: Remove gl_tests infrastructure
They're now completely migrated to the new compare infrastructure, that
also tests Vulkan and Cairo.
Timm Bäder [Wed, 24 Apr 2019 10:48:59 +0000 (12:48 +0200)]
testsuite: Add cross-fade-in-opacity test
Making sure that an opacity node doesn't end up reviving a node that's
hidden because the cross-fade has progress 0 or 1.
Timm Bäder [Wed, 24 Apr 2019 10:48:13 +0000 (12:48 +0200)]
testsuite: Remove broken GL comparison tests
These only work on special hardware, which not even I have anymore.
We'll need to redo them in a way that works on different systems.
Timm Bäder [Wed, 24 Apr 2019 09:26:34 +0000 (11:26 +0200)]
testsuite: Print serialized nodes when parsing fails
Timm Bäder [Wed, 24 Apr 2019 09:26:17 +0000 (11:26 +0200)]
testsuite: add shadow node parser test
Timm Bäder [Wed, 24 Apr 2019 08:49:36 +0000 (10:49 +0200)]
testsuite: add another nodeparser crash test
Timm Bäder [Tue, 23 Apr 2019 16:08:06 +0000 (18:08 +0200)]
testsuite: Add serialize-deserialize tests
Check that we can successfully deserialize a node, then serialize it
again and deserialize that result once more.
Benjamin Otte [Thu, 21 Mar 2019 05:47:36 +0000 (06:47 +0100)]
testsuite: Add a broken test
This also adds some build magic so all tests that contain "-3d" in them
won't be added to the Cairo renderer.
Of course, this new test is such a test.
Benjamin Otte [Tue, 19 Mar 2019 07:16:07 +0000 (08:16 +0100)]
Move working tests to new directory
These are tests that are working on both GL and Cairo now.
Some tests got black boxes over the areas that aren't easy to compare.
Timm Bäder [Sat, 2 Mar 2019 10:15:02 +0000 (11:15 +0100)]
testsuite: Port gl tests to text-based format
Benjamin Otte [Sat, 27 Apr 2019 01:27:30 +0000 (03:27 +0200)]
testsuite: Delete some node tests
These are the tests that aren't going to be made to work, so let's just
delete them.
Benjamin Otte [Tue, 19 Mar 2019 04:29:20 +0000 (05:29 +0100)]
testsuite: Add tests for the new node parsing code
This adds a test tool gsk/node-parser that takes node files and parses
them.
A few of these node files have been added, for crashes I encountered while
developing the new parsing code.
Timm Bäder [Sat, 2 Mar 2019 15:55:17 +0000 (16:55 +0100)]
Parse render nodes from text files
Instead of the previous approach using GVariant, this new approach uses
human-readable text files as the serialization format for render nodes.
The format is a custom one, but it is inspired by QML and conforms to
the CSS syntax. Because of that, we can use the CSS machinery from GTK
to parse it, and in particular share code to parse properties that GTK's
CSS machinery also supports, such as colors.
This commit breaks all existing usages of node files - such as the
testsuite and various test tools - they will be fixed in further
commits.
Benjamin Otte [Wed, 1 May 2019 13:27:52 +0000 (15:27 +0200)]
cssparser: Add gtk_css_parser_has_number()
Asier Sarasua Garmendia [Sat, 4 May 2019 19:34:25 +0000 (19:34 +0000)]
Update Basque translation
Asier Sarasua Garmendia [Sat, 4 May 2019 09:54:08 +0000 (09:54 +0000)]
Update Basque translation
Mohammed Sadiq [Sat, 4 May 2019 09:39:35 +0000 (15:09 +0530)]
docs: fix typo in function name
Matthias Clasen [Sat, 4 May 2019 02:12:02 +0000 (02:12 +0000)]
emoji chooser: populate incrementally
It takes half a second on my system to initially
populate the Emoji chooser. That is too long. Do
the work in 8 millisecond chunks to give GTK a
chance to get some frames done.
Matthias Clasen [Fri, 3 May 2019 04:58:46 +0000 (04:58 +0000)]
docs: Add an actions overview
Add an introduction chapter explaining actions
in detail. Most of this content is taken from
the GAction HowDoI page.
Matthias Clasen [Fri, 3 May 2019 04:57:58 +0000 (04:57 +0000)]
docs: Some additions to the overview
Mention graphene and gsk.
Matthias Clasen [Fri, 3 May 2019 04:22:07 +0000 (04:22 +0000)]
docs: Some updates to the input overview
Remove references to no longer existing apis,
and reword some things. Say surface instead of
window. Start filling out the keyboard section.
Jordi Mas [Fri, 3 May 2019 18:54:07 +0000 (20:54 +0200)]
Update Catalan translation
Timm Bäder [Fri, 3 May 2019 06:15:27 +0000 (08:15 +0200)]
filechooserbutton: Clean up finalize & destroy
Timm Bäder [Fri, 3 May 2019 06:10:50 +0000 (08:10 +0200)]
filechooserbutton: Clear model in destroy()
Since we're destroying priv->chooser right after. We can't wait until
finalize() since clearing the model will try to work with priv->chooser.
Timm Bäder [Fri, 3 May 2019 06:04:39 +0000 (08:04 +0200)]
filechooserbutton: Use a bin layout
Daniel Mustieles [Fri, 3 May 2019 12:36:45 +0000 (14:36 +0200)]
Updated Spanish translation
Piotr Drąg [Fri, 3 May 2019 11:42:45 +0000 (13:42 +0200)]
Update Polish translation
Piotr Drąg [Fri, 3 May 2019 11:19:12 +0000 (13:19 +0200)]
Update POTFILES.skip
Matthias Clasen [Fri, 3 May 2019 02:15:07 +0000 (02:15 +0000)]
Make the newly added test a bit more robust
Follow the style of the other tests and provide
style for both the test and ref.
Matthias Clasen [Fri, 3 May 2019 01:50:45 +0000 (01:50 +0000)]
Merge branch 'font-families' into 'master'
Font families
Closes #1854
See merge request GNOME/gtk!813
Matthias Clasen [Fri, 3 May 2019 01:33:09 +0000 (01:33 +0000)]
Add a reftest for multiple font families
This tests that listing multiple font
families in the css font-family property
works as expected.
Matthias Clasen [Fri, 3 May 2019 01:18:42 +0000 (01:18 +0000)]
css: Use multiple font-family values
Pango API to support this, so we can implement
this very easily.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1854
Matthias Clasen [Thu, 2 May 2019 22:21:30 +0000 (22:21 +0000)]
migration guide: Updates
Add recent changes here.
Matthias Clasen [Thu, 2 May 2019 22:20:31 +0000 (22:20 +0000)]
NEWS: Updates
Matthias Clasen [Thu, 2 May 2019 21:03:41 +0000 (21:03 +0000)]
Merge branch 'event-controller-sensitive' into 'master'
Event controller sensitive
Closes #1861
See merge request GNOME/gtk!812
Matthias Clasen [Thu, 2 May 2019 20:20:20 +0000 (20:20 +0000)]
fixup! event controller: Don't deliver events to insensitive widgets
Matthias Clasen [Thu, 2 May 2019 19:09:17 +0000 (19:09 +0000)]
spin button: Listen for ::cancel on gestures
Otherwise, we keep spinning when we should stop.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1861
Matthias Clasen [Thu, 2 May 2019 19:12:29 +0000 (19:12 +0000)]
widget: Reset controllers when going numb
Reset event controllers when their
widget is going insensitive. This is
the expected behavior.
Matthias Clasen [Thu, 2 May 2019 19:10:49 +0000 (19:10 +0000)]
gesture: Chain up in filter_event
This is the right thing to do.
We want to exclude more events.
Matthias Clasen [Thu, 2 May 2019 19:11:30 +0000 (19:11 +0000)]
event controller: Don't deliver events to insensitive widgets
This is another way to avoid delivering events
to insensitive widgets.
Benjamin Otte [Thu, 2 May 2019 17:22:43 +0000 (19:22 +0200)]
rendernode: Compute border node colors properly
Change the way we compute border color cutoffs to the same method that
browsers use. This method does not consider the corner sizes at all and
only looks at border-width.
Benjamin Otte [Thu, 2 May 2019 17:16:16 +0000 (19:16 +0200)]
roundedrect: Mke sure shrinking borders works
Previously, when borders were too big - ie when a 100x100 rect had only
one 100x100 border, like the black part of ◔ - and then shrinking this
rect by 25px on either side, we'd end up with a 50x50 rect with a 75x75
border, and that's obviously not correct.
Matthias Clasen [Thu, 2 May 2019 02:57:49 +0000 (02:57 +0000)]
gtk: Small documentation fixes
Matthias Clasen [Thu, 2 May 2019 02:49:10 +0000 (02:49 +0000)]
box layout: Documentation additions
Matthias Clasen [Thu, 2 May 2019 02:43:07 +0000 (02:43 +0000)]
gsk: Documentation tweaks
Add some missing symbols.
Matthias Clasen [Thu, 2 May 2019 02:39:36 +0000 (02:39 +0000)]
gdk: Documentation improvements
Document some new x11 symbols.
Matthias Clasen [Thu, 2 May 2019 02:12:28 +0000 (02:12 +0000)]
Merge branch 'inspector-menus' into 'master'
inspector: Fix showing of menus
See merge request GNOME/gtk!810
Matthias Clasen [Thu, 2 May 2019 02:09:03 +0000 (02:09 +0000)]
Merge branch 'inspector-actions' into 'master'
inspector: Show the default.activate action
See merge request GNOME/gtk!809
Matthias Clasen [Thu, 2 May 2019 02:05:46 +0000 (02:05 +0000)]
inspector: Fix showing of menus
We were hitting an assertion in some leftover
code that assumed property editors are popovers.
Matthias Clasen [Thu, 2 May 2019 01:55:28 +0000 (01:55 +0000)]
Merge branch 'filechooser-save-again' into 'master'
Make file chooser saving work again
See merge request GNOME/gtk!808
Matthias Clasen [Thu, 2 May 2019 01:53:57 +0000 (01:53 +0000)]
inspector: Show the default.activate action
We were hardcoding that GtkApplicationWindow only
has a single action group with prefix 'win', but
that is no longer the case. Simply use the code
for the general widget case that can handle multiple
action groups.
Matthias Clasen [Thu, 2 May 2019 01:49:31 +0000 (01:49 +0000)]
Merge branch 'kill-display-changed' into 'master'
Kill display changed
See merge request GNOME/gtk!807
Matthias Clasen [Thu, 2 May 2019 01:08:21 +0000 (01:08 +0000)]
Make file chooser saving work again
I was a little overzealous when going
for the new default handling here. We
can't switch to gtk_widget_activate_default
before we actually handle the default.activate
action.
Matthias Clasen [Thu, 2 May 2019 00:11:55 +0000 (00:11 +0000)]
Drop the GtkWidget::display-changed signal
Display changes now happen exclusively through
the ::root and ::unroot vfuncs. Third parties
can observe display changes by listening
for notify::root.
Matthias Clasen [Thu, 2 May 2019 00:08:49 +0000 (00:08 +0000)]
gtk: Use root/unroot instead of display-changed
The display-changed signal is going away
Matthias Clasen [Wed, 1 May 2019 22:52:13 +0000 (22:52 +0000)]
menu: Listen only for notify::root
We no longer emit the display-changed signal,
so stop listening.
Matthias Clasen [Wed, 1 May 2019 22:41:20 +0000 (22:41 +0000)]
window: Implement display change via root/unroot
Export gtk_widget_root/unroot privately,
make them work on roots, and use them in
gtk_window_set_display. This gets us to a
single way to listen for display changes,
the root property.
Matthias Clasen [Wed, 1 May 2019 23:01:50 +0000 (23:01 +0000)]
Merge branch 'inspector-menu-fix' into 'master'
Inspector menu fix
See merge request GNOME/gtk!804
Matthias Clasen [Wed, 1 May 2019 20:41:59 +0000 (20:41 +0000)]
menus: Fix menus on non-default displays
Currently, we sometimes emit display-changed
when the display changed, and sometimes we don't
since the display is changed via gtk_widget_root.
Listen for notify::root as well and update our
display. This is a temporary fix - all display
changes should go through gtk_widget_root,
eventually.
Benjamin Otte [Wed, 1 May 2019 22:09:13 +0000 (22:09 +0000)]
Merge branch 'kill-menu-display' into 'master'
Kill menu display
See merge request GNOME/gtk!806
Matthias Clasen [Wed, 1 May 2019 21:49:25 +0000 (21:49 +0000)]
Remove gtk_menu_set_display
Menus should always be attached to a toplevel,
in which case they get their display that way.
Matthias Clasen [Wed, 1 May 2019 21:48:56 +0000 (21:48 +0000)]
tests: Stop using gtk_menu_set_display
It is not needed here.
Matthias Clasen [Wed, 1 May 2019 21:19:27 +0000 (21:19 +0000)]
Merge branch 'expander-demo-fix' into 'master'
gtk-demo: Make the expander demo behave again
See merge request GNOME/gtk!805
Matthias Clasen [Wed, 1 May 2019 21:12:36 +0000 (21:12 +0000)]
gtk-demo: Make the expander demo behave again
Changes to the dialog hierarchy have affected
this demo, that admittedly pokes at message
dialog internals. Do that some more, to fix
things up.
Matthias Clasen [Wed, 1 May 2019 20:39:44 +0000 (20:39 +0000)]
wayland: sanity check events at the source
Sanity check events before we throw them into
the event queue, as this makes it much easier
to track down the culprit.
Matthias Clasen [Wed, 1 May 2019 20:39:00 +0000 (20:39 +0000)]
gdk: add a sanity check for events
Before delivering events to GTK, make sure
they're sane. For now, this means making sure
the surface and device are from the same
display.
Matthias Clasen [Wed, 1 May 2019 20:46:02 +0000 (20:46 +0000)]
seat: Add a sanity check
apis that takes multiple display-relative objects
should make sure that they are all from the same
display, or hard-to-track-down badness will happen
later on.
Add such a check for the surface and device arguments
of gdk_seat_grab. This helped in tracking down
critical warnings from combo boxes in the inspector.
Matthias Clasen [Wed, 1 May 2019 17:26:34 +0000 (17:26 +0000)]
Merge branch 'add-color-button-fix' into 'master'
Adwaita: Fix 'add color' button corners
Closes #1856
See merge request GNOME/gtk!801
Matthias Clasen [Wed, 1 May 2019 17:18:39 +0000 (17:18 +0000)]
Adwaita: Fix 'add color' button corners
The specification for border-radius goes
top-left top-right bottom-right bottom-left.
The css for the add button in the color
chooser got this wrong, and was showing
a broken top-right corner.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1856
Rico Tzschichholz [Wed, 1 May 2019 13:03:16 +0000 (15:03 +0200)]
Add a few placeholder documentation block to have g-i annotations
Matthias Clasen [Wed, 1 May 2019 05:21:09 +0000 (05:21 +0000)]
Merge branch 'entry-fix' into 'master'
Fix Emoji insertion
See merge request GNOME/gtk!800
Matthias Clasen [Wed, 1 May 2019 05:13:52 +0000 (05:13 +0000)]
text: Make Emoji insertion work properly
We are now getting focus-out and focus-in events
when the Emoji chooser is shown and hidden, and
this is causing the text to select-on-entry before
inserting the Emoji, which then deletes the selection.
Avoid this by saving and restoring the selection
when presenting the Emoji chooser.
Matthias Clasen [Wed, 1 May 2019 04:57:54 +0000 (04:57 +0000)]
inspector: Track readonly property values
That a property can't be set does not mean
its value can't change. This was showing up
as the cursor-position and selection-bound
properties in GtkText not showing their
current value in the inspector.
Matthias Clasen [Wed, 1 May 2019 04:44:07 +0000 (04:44 +0000)]
inspector: Don't listen for notify twice
The property list now uses property editors
for the value, which listen for updates by
themselves, so no need for the list to do it.
Matthias Clasen [Wed, 1 May 2019 04:41:28 +0000 (04:41 +0000)]
entry: only notify properties we have
GtkText now has the propagate-text-width property,
which is not present on GtkEntry, so we can't just
blindly forward all properties.
Matthias Clasen [Wed, 1 May 2019 03:38:42 +0000 (03:38 +0000)]
Merge branch 'minus-one' into 'master'
fix signedness issues in api
Closes #1555
See merge request GNOME/gtk!799
Matthias Clasen [Wed, 1 May 2019 03:34:56 +0000 (03:34 +0000)]
Merge branch 'xdg-output' into 'master'
[gtk4] wayland: Add support for xdg-output
Closes #1828
See merge request GNOME/gtk!751
Matthias Clasen [Wed, 1 May 2019 03:32:12 +0000 (03:32 +0000)]
Merge branch 'window-activate-revert-master' into 'master'
Revert "gdk: deactivate/activate surface on keyboard grabs"
See merge request GNOME/gtk!795
Matthias Clasen [Wed, 1 May 2019 03:25:02 +0000 (03:25 +0000)]
textutil: Fix signedness issues in api
A length argument that can be -1 should be signed.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1555
Matthias Clasen [Wed, 1 May 2019 03:21:29 +0000 (03:21 +0000)]
builder: Fix signedness issues in apis
Whenever we take a length argument that can
be -1 for 'nul-terminated', it should be
gssize, not gsize.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1555
Matthias Clasen [Wed, 1 May 2019 00:42:09 +0000 (00:42 +0000)]
Merge branch 'grab-cursor-fix' into 'master'
window: Prevent resize cursors from sticking
Closes #23
See merge request GNOME/gtk!797
Matthias Clasen [Wed, 1 May 2019 00:16:21 +0000 (00:16 +0000)]
window: Prevent resize cursors from sticking
When a modal dialog is smaller than its parent,
we were keeping the resize cursor from the dialogs
edge all over the parent window, which looks
really irritating, since the resize cursors are
closely associated with the window edge. Fix
this by falling back to the default cursor
outside the grab widgets surface.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/23
Samuel Thibault [Tue, 30 Apr 2019 14:45:51 +0000 (16:45 +0200)]
Revert "gdk: deactivate/activate surface on keyboard grabs"
This reverts commits
35417a5a74bfebd69b5c069d7a2f517ba571bcf9 and
01455399e83a3dbafb0cdc6e12c7003b2f472a40.
This reintroduces #85, but see discussion in
https://gitlab.gnome.org/GNOME/gtk/merge_requests/433 for the unforeseen
invasive consequences of these commits.
Timm Bäder [Tue, 30 Apr 2019 04:43:42 +0000 (06:43 +0200)]
filechooserwidget: Only query clock-format setting once
We don't support that setting life-updating anyway. So, instead of
getting the value *every time we format a time*, get it once for the
filechooserwidget and reuse that value.
Timm Bäder [Tue, 30 Apr 2019 03:54:00 +0000 (05:54 +0200)]
Adwaita: Fix active spinbutton button image color
The spinbutton>button>image is currently blue when the image is clicked
and dark-ish when the button is clicked(but not the image). This was not
the case before since we didn't even propagate :active down to the image
child. Fix this by only applying the blue color to direct image children
of entries.
Timm Bäder [Mon, 29 Apr 2019 10:04:25 +0000 (12:04 +0200)]
filechooserwidget: Remove unnecessary deprecation guards
Timm Bäder [Mon, 29 Apr 2019 09:46:54 +0000 (11:46 +0200)]
filechooserwidget: Stop using gtk_widget_get_allocat*
Timm Bäder [Mon, 29 Apr 2019 09:29:23 +0000 (11:29 +0200)]
filechooserwidget: Shorten cancel_all_operations() impl
Timm Bäder [Mon, 29 Apr 2019 09:27:30 +0000 (11:27 +0200)]
filechooserwidget: Shorten dispose impl a bit
Timm Bäder [Mon, 29 Apr 2019 09:23:01 +0000 (11:23 +0200)]
filechooserwidget: Remove some unnecessary show() calls
Widgets are visible by default now.
Timm Bäder [Mon, 29 Apr 2019 09:21:53 +0000 (11:21 +0200)]
filechooserwidget: Use a bin layout
Instead of implementing size_allocate and measure manually.
Timm Bäder [Mon, 29 Apr 2019 09:17:38 +0000 (11:17 +0200)]
filechooserwidget: Shorten finalize implementation a bit
Timm Bäder [Mon, 29 Apr 2019 09:15:19 +0000 (11:15 +0200)]
filechooserwidget: Inline fuction into only caller
Timm Bäder [Mon, 29 Apr 2019 09:07:17 +0000 (11:07 +0200)]
filechooserwidget: Fix rename popover widget alignment
Timm Bäder [Mon, 29 Apr 2019 06:47:24 +0000 (08:47 +0200)]
placesview: Bring spacing in the actionbar back
In particular between the Connect button and the adjacent button/entry
combination.